// 引入 react-redux 连接器
import { connect } from 'react-redux'
// 引入 UI 组件
import Count from '../../component/Count'

import {
  createIncrementAction,
  createDecrementAction,
  createIncrementAsyncAction
} from '../../redux/count_action'

// 背景：
// 基本使用章节中，connect 连接器的参数必须是函数，写法上可以进一步精简

// 优化：
// 1. 直接把函数放在参数内
// 2. 操作状态方法的函数简化为对象，并且去除调参数的接收和 dispatch 的调用，
//    只需把对应的 action 传入，react-redux 内部会自动执行 dispatch 逻辑
export default connect((state) => ({ count: state }), {
  jia: createIncrementAction,
  jian: createDecrementAction,
  jiaAsync: createIncrementAsyncAction
})(Count)
